/**
  * [
  *  {
  *    'id': 1,
  *    'pid': 0,
  *    'name': '传智教育',
  *    'children':
  *      [
  *        {
  *          'id': 2,
  *          'pid': 1,
  *          'name': '人事部',
  *          'children':
  *            [
  *              {
  *                'id': 2,
  *                'pid': 1,
  *                'name': '税务管理部'
  *              }
  *            ]
  *
  *        }
  *      ]
  *
  *  }
  * ]
 */
// 把列表型数据，转为上面一样树形数据

// 将一个数组转换为一个树结构
export function transListToTreeData(list, pid) {
  // 创建一个空数组用来存放树结构
  const tree = []
  // 遍历数组
  list.forEach(item => {
    // 判断当前项的pid是否等于传入的pid
    if (item.pid === pid) {
      // 如果不为空，说明有子项
      const children = transListToTreeData(list, item.id)
      // 如果子项不为空，将子项赋值给当前项
      if (children.length) {
        item.children = children
      }

      // 将当前项添加到树结构中
      tree.push(item)
    }
  })
  // 返回树结构
  return tree
}

